package com.nowcoder.community.dao;

import com.nowcoder.community.entity.User;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper {
    /**
     * 通过id查询用户信息
     * @author ProgramCat
     * @param id
     * @return User
     */
    User selectById(int id);
    /**
     * 通过名字查询用户信息
     * @author ProgramCat
     * @param username
     * @return User
     */
    User selectByName(String username);
    /**
     * 通过邮箱查询用户信息
     * @author ProgramCat
     * @param email 邮箱
     * @return User
     */
    User selectByEmail(String email);
    /**
     * 新增用户
     * @author ProgramCat
     * @date 2023/4/1 10:40
     * @param user 新用户
     * @return int
     */
    int insertUser(User user);
    /**
     *根据用户id更新账号状态（是否激活，0-未激活，1-已激活）
     * @author ProgramCat
     * @param id 用户id
     * @param status 状态
     * @return int
     */
    int updateStatus(int id, int status);
    /**
     * 通过id更新头像
     * @author ProgramCat
     * @param id 用户id
     * @param headerUrl 头像地址
     * @return int
     */
    int updateHeader(int id, String headerUrl);
    /**
     * 根据用户id更新密码
     * @author ProgramCat
     * @param id 用户id
     * @param password 密码
     * @return int
     */
    int updatePassword(int id, String password);

}
